<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>

<body>

    <div>

    </div>
    <script>

        function sum() {
            // arguments 函数内置的实参集合 
            // 1.类数组集合，集合中储存着所有函数执行时，传递的实参信息
            // 2.不论是否设置形参，arguments都存在
            // 3.不论是否传递实参，arguments也都存在
            // arguments.callee : 储存的是当前函数本身 一般不用的，js严格模式下禁止使用这些属性
            let total = null;
            for (let i = 0; i < arguments.length; i++) {
                let item = Number(arguments[i]);
                if (isNaN(item)) {
                    continue;
                }
                total += item;
            }
            return total
        }
        let totals = sum(10, 20, 30, 40);
        let total2 = sum(2, 3, 4, '7')
        console.log(totals);
        console.log(total2);

    </script>
</body>

</html>